package main
import (
	"fmt"
)

//map切片的使用！  如果切片的数据类型是map 那就是 slice of map，使用map切片可以让map个数动态变化

func main(){
	//map切片 并对其进行 make初始化
	var monsters []map[string]string = make([]map[string]string,2)  //必须指定切片长度大小
	//添加键值对
	monsters[0] = make(map[string]string)
	monsters[0]["name"] = "fmx"
	monsters[0]["lover"] = "lsx"
	monsters[1] = make(map[string]string)
	monsters[1]["name"] = "lsx"
	monsters[1]["lover"] = "fmx"
	// monsters[2] = make(map[string]string)   超出了容量范围，不能直接添加
	// monsters[2]["name"] = "lsx"
	// monsters[2]["lover"] = "fmx"

	fmt.Println("mapSlice is : ",monsters)

	//如果添加的内容数量超过了容量，需要扩建，利用切片的append()函数动态扩大
	//首先创建一个切片的元素类型 ： map[string]string，然后在添加到切片末尾，如下
	newmonster := map[string]string{
		"name" : "cjk",
		"lover" : "dz",
	}
	monsters = append(monsters,newmonster)
	fmt.Println("mapSlice is : ",monsters)
}